home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / nihcl-30.lha / nihcl-3.0 / errfac / Makefile < prev    next >
Makefile  |  1990-05-21  |  2KB  |  106 lines

  1. # C++ compiler
  2. CC = CC
  3.  
  4. # C++ debug switch
  5. CCDEBUG =
  6. #CCDEBUG = -g
  7.  
  8. # C++ flags
  9. # NOTE: Disable +p option when compiling with AT&T R2.1
  10. CCFLAGS = +p
  11. #CCFLAGS =
  12.  
  13. # C++ include files
  14. I = /usr/include/CC
  15.  
  16. # If using BSD
  17. SYS = BSD
  18. # If using System V
  19. #SYS = SYSV
  20.  
  21. # Compile with nested types (works with AT&T R2.1 and GNU C++)
  22. NESTED_TYPES =
  23. #NESTED_TYPES = -DNESTED_TYPES
  24.  
  25. # Disable AT&T R2.0/R2.1 bug work-around code
  26. BUGDEFS =
  27.  
  28. # Enable debug code
  29. DEBUGDEFS =
  30.  
  31. CFLAGS = ${CCDEBUG} ${CCFLAGS} ${NESTED_TYPES} ${BUGDEFS} ${DEBUGDEFS}
  32. LFLAGS = ${CCDEBUG}
  33.  
  34. # Target Directories for Installation
  35. LIB_ID = libC
  36. # CLIBDIR is directory where ${LIB_ID}.a resides
  37. CLIBDIR = /usr/lib
  38. ERRGENDIR = /usr/local/bin
  39. ERRTABDIR = /usr/local/lib
  40. ERRINCDIR = $I
  41.  
  42. #include progs.all
  43. #include classes.all
  44. include objects.all
  45.  
  46. .SUFFIXES: .s ..c
  47.  
  48. .c.o:
  49.     ${CC} ${CFLAGS} -c $<
  50. .c..c:
  51.     ${CC} ${CFLAGS} +i -c $<
  52. .c.s:
  53.     ${CC} ${CFLAGS} +i -S $<
  54.  
  55. all: ${ERRTABDIR}/errgen_tab ${OBJECTS} errgen testerrs.h errtst verify
  56.  
  57. errgen:  ErrFac.o gettok.o dofile.o errgen.o
  58.     ${CC} ErrFac.o gettok.o dofile.o errgen.o -o $@ ${LFLAGS}
  59. #    strip errgen
  60.  
  61. errors.o: errors.c
  62.     ${CC} ${CFLAGS} -F -c errors.c | sed -e 's/__0__builtin/__builtin/g' >errors..c
  63.     cc ${CCDEBUG} -c -o errors.o errors..c
  64.     rm errors..c
  65.  
  66. errtst:  errtst.o errors.o testerrs.o
  67.     ${CC} errtst.o errors.o testerrs.o -o $@ ${LFLAGS}
  68.  
  69. testerrs.h: errgen testerrs.err
  70.     -chmod a+w testerrs.[ch]
  71.     ./errgen -R${ERRTABDIR} testerrs
  72.     chmod a-w testerrs.[ch]
  73.     ${CC} -I. ${CFLAGS} -c testerrs.c
  74.  
  75. verify: errtst
  76.     ./errtst 2>&1 | cmp -s - errtst.v
  77.  
  78. ${ERRTABDIR}/errgen_tab:
  79.     cp errgen_tab ${ERRTABDIR}
  80.  
  81. install:
  82.     -mkdir ${ERRGENDIR}
  83.     cp errgen ${ERRGENDIR}
  84.     -mkdir ${ERRINCDIR}
  85.     -chmod ug+w ${ERRINCDIR}/errlib.h ${ERRINCDIR}/errors.h
  86.     cp errlib.h ${ERRINCDIR}
  87.     cp errors.h ${ERRINCDIR}
  88.     ar rv ${CLIBDIR}/${LIB_ID}.a errors.o
  89.     if test ${SYS} = BSD ; then cd ${CLIBDIR}; ranlib ${LIB_ID}.a; fi
  90.     
  91. depend:
  92.     -rm -f *..c
  93. #    echo 'PROGS =' [a-z]*[a-z0-9].c | sed -e 's#\([a-zA-Z0-9]*\)\.c#\1#g' >progs.all
  94. #    echo 'CLASSES =' [A-Z]*[a-z0-9].c | sed -e 's#\([a-zA-Z0-9]*\)\.c#\1.o#g' >classes.all
  95.     echo 'OBJECTS =' *.c | sed -e 's#\([a-zA-Z0-9]*\)\.c#\1.o#g' >objects.all
  96.     touch make.tdep
  97.     makedepend -I$I -f make.tdep -- ${CFLAGS} -- *.c
  98.     sed -e 's# $I/[^     $$]*##g' make.tdep | sed -e 's# /usr/include/[^  $$]*##g' | sed -e '/:[  ]*$$/d' >make.dep
  99.     rm make.tdep
  100.  
  101. clean:
  102.     -chmod a+w testerrs.[ch]
  103.     -rm -f *.o *..c *..s core errgen errtst testerrs.[ch]
  104.  
  105. include make.dep
  106.